This is a set of utilities to tell you various things about your computer
system.


VS and VS1 give you information regarding VESA video support.  See VS.TXT
for further information.


VGA gives you information about VGA support.  See VGA.TXT.


After you've read VS.TXT, you should have a good idea of what VX and VX1
do.  They do essentially the same thing as VS and VS1, respectively, but
apply to VESA XGA systems instead of the perhaps more standard VESA SVGA
systems.  (If VX1 is run without a video mode specified on the command line,
it will give you some additional information that there isn't room for on
your screen when it's giving you information about a specified video mode.)
Also, if you have more than one XGA adapter, VX will ask you which expansion
slot contains the video card your monitor is attached to if you are using
the graphical confirmation option.  I feel obligated to warn you
that, since I don't have access to XGA systems, I haven't been able to
test VX or VX1 out very much.  Let me know how they work if you have such
a monitor/card.


VEGA gives you information about support for VEGA/Video7 video adapters.
Running VEGA without any command line arguments simply confirms whether or
not you have VEGA/Video7 support.  If you have such support, it will then
tell you about the command line syntax.  (Just run VEGA with a hex bios video
mode integer and it should tell you whether or not the mode is supported,
and if it is, information about the mode.)


VID also gives you information about the video modes supported by your
video adapter.  (It only applies to video modes up to and including VGA.
Given the other utilities provided, you probably don't need it if you have
a VGA or better.)  VID shows the modes supported by your adapter using both
QB's notation and also the standard hexadecimal bios integers.


EQ gives you a list of as much of the equipment attached to your computer
that it can find.  (There are no command line arguments.)


DAN returns various information about drives and disks.  The syntax is

DAN drive_letter

The drive letter does not need the ":" (but you can include it if you want)
and the current/default drive is assumed if you don't specify the drive
letter at all.  The first part of DAN's operation requires a disk to be in
the drive.  The second part (after the message about possible inapplicability
to hard drives) does not require a disk to be physically present.  This
information relates, directly, to the drive more than to any disk that may be
present.  (However, the information in the final two lines concerning disk
size was obtained while the disk was present.)


INTER is a simple utility that will allow you to call interrupts.  The
syntax is

INTER interrupt_number register_list.

(Run INTER with no arguments to see the input register order.  The register
data upon output is in the same order but it is also labelled.)


MLIM (for Mouse Limits) returns information about screen motion limitations
for the mouse for a specified video mode.  The syntax is

MLIM hexadecimal_bios_video_mode

MLIM first displays the video mode (to confirm what you told it) and then
displays the maximum (zero-based) column and row values that the mouse
cursor is allowed to move to in the particular video mode.  These numbers
are in mouse units.  They do not necessarily correspond exactly to screen
coordinates.  Hence, MLIM also displays the horizontal (column) and vertical
(row) "incrementations."  These values give the correspondence between mouse
units and screen coordinates.  To convert to screen coordinates, divide
the maximum column extent by the horizontal incrementation and the maximum
row extent by the vertical incrementation.  Again, these results will be
zero-based.  After performing these divisions, the maximum screen coordinates
will be in pixels for graphics modes and text column/row for text modes.  But
I think I'd better give a few examples.  Consider VGA mode 13h.  (This is
a 320 x 200 x 16 color graphics mode.)  The command

MLIM 13

returns the following information to the screen:

VIDEO MODE = 13h
MAXIMUM COLUMN AND ROW =  638 199
COLUMN INCREMENTATION =  2
ROW INCREMENTATION =  1

Press a key to continue...

MLIM says the maximum column for this video mode is 638 and the maximum
row is 199, and that there are 2 horizontal screen coordinates for each
horizontal mouse movement and there's a one-to-one correspondence for the
vertical motion.  Hence, the mouse may move horizontally over 638/2 + 1 =
320 screen pixels and vertically over 199/1 + 1 = 200 screen pixels.

Now consider text mode 3h.  The command

MLIM 3

returns the following:

VIDEO MODE = 3h
MAXIMUM COLUMN AND ROW =  632 192
COLUMN INCREMENTATION =  8
ROW INCREMENTATION =  8

Press a key to continue...

For this mode, although there are 632 horizontal mouse movements possible,
this really only corresponds to 632/8 + 1 = 80 characters.  Similiarly,
although the mouse can move vertically down to row 192, this is only in
mouse units.  In text lines, it can only move to line 192/8 = 24 (or line
25 if you number the top screen line as 1 instead of 0).

(If you don't specify a video mode on the command line, MLIM will use
the current video mode.  Since it displays the mode it's analyzing, one
use of MLIM is simply to tell you what video mode you're in.)


HDTAB reads the hard disk parameter tables for drives 0 and 1.  The table
for drive 0 is stored at the location corresponding to interrupt 41 and
the table for drive 1 is stored at the memory location for interrupt 46.
(Alternatively, interrupt 41's location is specified by the far pointer at
0:104 and interrupt 46's location is specified by the pointer at 0:118.)  If
by chance you don't have a hard drive, obviously, this program isn't of any
direct use to you.  Similarly, if you only have one physical hard drive,
ignore HDTAB's output for drive 1.  If you know you don't have a second
physical hard drive, you can press ESC at the line instructing you to
press a key to see the parameter table for that drive and the program will
simply stop.  I should also point out that it's entirely possible that, no
matter how many physical hard drives you have, the output of HDTAB may be
entirely meaningless for your particular disk system because your system
isn't set up in the default manner assumed by interrupts 41 and 46.


VSOEM establishes a correlation between VESA video modes that you have support
for and OEM modes.  See VSOEM.TXT.


UARTR and UARTW read and write, respectively, data bytes (one at a time)
from/to COM port UART registers.  (They can also be used to access any general
computer port.)  See the commentary at the top of UARTR.BAS and UARTW.BAS for
usage instructions.  Running them with no or incomplete command line arguments
also shows the usage syntax.


I don't think these utilities are particularly unsafe to use but I must
insist that you USE THEM AT YOUR OWN RISK.  One conceivable situation which
may warrant some concern is using the video utilities if you have a
monochrome monitor attached to a video card that supports color video
modes.  You may also want to be careful about using MLIM with video modes
that you don't have support for.  (Running INTER indiscriminately is a good
way to crash your system, however!)  Similarly, VEGA works by attempting to
put your video system into the mode under test and then queries your bios to
see if it's actually in that mode.  Generally, it's not a good idea to try
to drive monitors in modes they don't support, but there's no other way that
I know of to make this test.  So, although I don't think VEGA is likely to
hurt your monitor, I'll just remind you of the "YOUR OWN RISK" warning.
(VEGA has not hurt my system yet.  The really big problem here appears to
be, as mentioned above, trying to drive monochrome monitors in a color video
mode.)  Also, these utilities assume that at least version 2 of PC/MS-DOS is
in use--yeah, I know, that's a real big concern!  (Whether or not they work
with other OS's depends on how compatible they are with PC/MS-DOS--another
area where you may want to be careful using this SW.)


Glenn Stumpff

4960 Egret Ct.
Dayton, Ohio  45424

CIS:  73137,3537
